Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Методи уточнення коренів нелінійних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем
Варіант:
9

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ  З В І Т до лабораторної роботи №1 з курсу: «Комп'ютерні методи дослідження інформаційних процесів і систем» на тему: «Методи уточнення коренів нелінійних рівнянь» Варіант №9 Львів – 2012 ТЕКСТ ПРОГРАМИ using System; using System.Collections.Generic; using System.Text; namespace kmd_lab1 { class Program { static void Main(string[] args) { Console.WriteLine(" КМД, Лабораторна робота №1 \"Методи уточнення коренiв нелiнiйних рiвнянь\""); Main p = new Main(); p.input(); p.comb(); Console.Write("Press <Enter> to exit..."); Console.ReadKey(); } } class Main { // перелік усіх змінних типу double: public double a, b, e, xnt, xntl, xntlpo, fxntl, fsxntl, fxnt, fxntlpo, xntpo; public void input() // метод введення і присвоєння змінних { Console.WriteLine(" Введiть промiжок [a, b] та абсолютну похибку E:"); try { Console.Write(" Введiть 'a'= "); a = Convert.ToDouble(Console.ReadLine()); Console.Write(" Введiть 'b'= "); b = Convert.ToDouble(Console.ReadLine()); Console.Write(" Введiть 'E'= "); e = Convert.ToDouble(Console.ReadLine()); } catch (Exception) { Console.WriteLine(" Виникла помилка!"); input(); } Console.WriteLine(" Ви ввели промiжок ["+a+","+b+"] та E= "+e+";\n"); xnt = a; xntl = b; } public void func() // метод обчислення функцій { // x n-те (Ньютона) fxntl = Math.Cos(xntl)+(1/(xntl-2)); // f (xntl) fsxntl = (-1)*(Math.Sin(xntl))-(1/Math.Pow((xntl-2), 2)); // f'(xntl) xntlpo = xntl-(fxntl/fsxntl); // xntlpo Console.WriteLine(" f(b) = "+fxntl); Console.WriteLine(" f'(b) = "+fsxntl); Console.WriteLine(" xntlpo = "+xntlpo); // x n-те fxnt = Math.Cos(xnt)+(1/(xnt-2)); // f (xnt) fxntlpo = Math.Cos(xntlpo)+(1/(xntlpo-2)); // f (xntlpo) xntpo = xnt-((fxnt*(xntlpo-xnt))/(fxntlpo-fxnt)); // xntpo Console.WriteLine(" f(a) = "+fxnt); Console.WriteLine(" f(xntlpo)= "+fxntlpo); Console.WriteLine(" xntpo = "+xntpo); } public void comb() { double tf; int iter=1; do { if (iter != 1) { xntl = xntlpo; xnt = xntpo; } func(); Console.WriteLine(" Iтерацiя "+iter+" - завершено!\n"); iter++; tf = Math.Abs(xntpo-xntlpo); // |xntpo-xntlpo| } while(tf>e); double xz = 0.5*(xnt+xntl); Console.WriteLine(" Корiнь X* = "+xz+"\n"); } } } БЛОК-СХЕМА  Мета роботи – ознайомлення з методами уточнення коренів нелінійних рівнянь з одним невідомим. КОРОТКІ ТЕОРИТИЧНІ ВІДОМОСТІ: Комбінований метод хорд та дотичних: Метод хорд та дотичних дають наближення кореня з різних сторін (менше і більше від істинного значення). Тому доцільно використати обидва способи одночасно, завдяки чому уточнене значення кореня одержується швидше. Нехай – початкове наближення кореня за методом хорд, а – за методом дотичних (див.рис.1). Тоді провівши хорду та дотичну, одержимо відповідні наближення за методом хорд  і за методом дотичних  Або в загальному випадку    (рис. 1) Якщо припустима абсолютна похибка E заздалегідь задана, то процес наближення припиняється, доки не буде виявлено, що  Після закінчення процесу за значення кореня х* краще взяти середнє арифметичне одержаних останніх значень  Кращий результат дає наступний порядок обчислень: Знаходиться наближене значення кореня з...
Антиботан аватар за замовчуванням

28.05.2013 18:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини